package com.ruoyi.gis.service;

import java.util.List;

import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.gis.domain.GisLayerGroupProductVo;
import com.ruoyi.gis.domain.GisLayerProduct;
import com.ruoyi.gis.domain.GisLayerProductVo;

/**
 * layerProductService接口
 *
 * @author rww
 * @date 2023-11-16
 */
public interface IGisLayerProductService
{
    /**
     * 查询layerProduct
     *
     * @param id layerProduct主键
     * @return layerProduct
     */
    public GisLayerProduct selectGisLayerProductById(Long id);

    /**
     * 查询layerProduct列表
     *
     * @param gisLayerProduct layerProduct
     * @return layerProduct集合
     */
    public List<GisLayerProduct> selectGisLayerProductList(GisLayerProduct gisLayerProduct);

    /**
     * 新增layerProduct
     *
     * @param gisLayerProduct layerProduct
     * @return 结果
     */
    public int insertGisLayerProduct(GisLayerProduct gisLayerProduct);

    /**
     * 修改layerProduct
     *
     * @param gisLayerProduct layerProduct
     * @return 结果
     */
    public int updateGisLayerProduct(GisLayerProduct gisLayerProduct);

    /**
     * 批量删除layerProduct
     *
     * @param ids 需要删除的layerProduct主键集合
     * @return 结果
     */
    public int deleteGisLayerProductByIds(Long[] ids);

    /**
     * 删除layerProduct信息
     *
     * @param id layerProduct主键
     * @return 结果
     */
    public int deleteGisLayerProductById(Long id);

    void addProduct(Long loginUser, GisLayerProductVo gisLayerProductVo);

    int updateGisLayerProductSort(List<GisLayerProduct> products);

    void addGroupProduct(Long userId, GisLayerGroupProductVo gisLayerGroupProductVo);

}
